Module 0 (optional): Good practices in Research Software Development.

This module is based on material from The Carpentries, where you can find a lot of free, open source and high quality material on software development and data science.

Get started with the module here: https://github.com/neural-data-science-course/research-software-development

Module content:

Introduction to version control with git

  • Tracking changes: git add & git commit
  • Exploring history, checking out older versions
  • Ignoring things with .gitignore files
  • Github remotes

Collaboration with git and Github

  • Creating pull requests
  • Review process
  • Good practices for collaboration

Intermediate research software development

  • Virtual environments
  • Integrated Software Development Environments (IDEs)
  • Python code style conventions
  • Automatically testing software
  • Software architecture and design
  • Writing reusable software
  • Software management

Module 1: Neural data handling and preprocessing

Get started with the module here:
https://github.com/neural-data-science-course/neural-data

Module content:

Local field potential (LFP)

  • Introduction to the local field potential
  • Fourier analysis and power spectrum
  • Signal filtering
  • Introduction to time-frequency analysis
  • Wavelet transform and spectrograms

Calcium imaging

  • Introduction to calcium imaging and CaImAn
  • Data loading and summary images
  • Motion correction
  • Source extraction with Constrained Non-negative Matrix Factorization

Module 2: Single cell analysis

Get started with the module here:
https://github.com/neural-data-science-course/single-cell-analysis

Module content:

Tuning curves and ratemaps

  • Visualization techniques for the response of a neuron
  • Raster plots and Peri-timulus Time Histograms (PSTH)
  • Tuning curves
  • Visualizing hippocampal place cells
  • Measuring spatial information

Generalized Linear models (GLMs)

  • The timulus-response function
  • Linear and non-linear stages of GLMs
  • Linear Gaussian models
  • Linear-Nonlinear Poisson models

Module 3: Population methods

https://github.com/neural-data-science-course/population-methods

Module content:

Bayesian decoding

  • Introduction to bayesian decoding with poisson neurons
  • Decoding position on a linear track
  • Decoding during sleep
  • Analysis of seuqential reactivations during sleep

Support Vector Machines for neural decoding

  • Support Vector Machines and linear separability of data
  • Decoding stimulus identity from neural activity
  • Cross validation techniques
  • Assessing significance with surrogate data

Dimensionality reduction

  • Principal component analysis (PCA)
  • Discovering collective modes of acrtivity in the cortex
  • Clustering: K-means and DBSCAN
  • Discovering co-active assemblies with clustering methods